The present invention, in some embodiments thereof, relates to data flow analysis and, more specifically, but not exclusively, to screen oriented data flow analysis.
The term static analysis relates to computer code typically refers to analysis of the instructions of a computer program that does not rely on the run-time execution of the application. In one type of static analysis, known as data-flow analysis, a program representation graph is determined of the program's control and data flows, and information is gathered about the possible values of variables at various points within the program, where the graph is used to determine those parts of the application to which data assigned to a particular variable might flow.
Contemporary compilers and integrated development environments make extensive use of program analysis in a variety of tasks, including optimization, refactoring, and validation. The more useful and more sophisticated tasks require the internal program representation produced by the program analysis algorithm to contain data-flow information. The program representation used by the analysis algorithm affects the power and efficiency of the analysis.
The growing popularity of smart mobile devices has given rise to new GUI-centered programming paradigms. The main control of an information-based mobile application is defined by the application screens and the transitions between them.
Additional background art includes M. Weiser (Program slicing. IEEE Trans. Software Engineering, SE-10(4), 1984) which is incorporated herein by reference.